"use strict";

module A.B.C {
  class Greeter {
      constructor(public greeting: string) { }
      greet() {
	  return "Greeting: " + this.greeting;
      }
  };

  class TransformedGreeter extends Greeter {
      constructor(greet: string) {
	  super(greet);
      }
      greet() {
	  var str: string = super.greet();
	  return "Transformed " + str;
      }
  }

  var greeter: Greeter = new TransformedGreeter("Hello, world!");
  var str = greeter.greet();
  console.log(str);

  function onLoad() {
      document.getElementById('outElement').innerHTML = '<span>' + str + '</span>';
  }
}